/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.siagefi.service;

import br.siagefi.dao.DAO;
import br.siagefi.model.Documento;
import br.siagefi.model.FornecedorPF;
import java.util.List;

/**
 *
 * @author NOTE
 */
public class FornecedorPFService {

    private final DAO<FornecedorPF> dao;

    public FornecedorPFService() {
        this.dao = new DAO<>(FornecedorPF.class);
    }

    public void inserir(FornecedorPF fornecedorPF) {
        dao.adiciona(fornecedorPF);
    }

    public void alterar(FornecedorPF fornecedorPF) {
        dao.atualiza(fornecedorPF);
    }

    public List<FornecedorPF> listar() {
        return dao.listaTodos();
    }

    public void remover(FornecedorPF fornecedorPF) {
        dao.remove(fornecedorPF);
    }

    public boolean jaExiste(FornecedorPF fornecedorPF) {
        List<FornecedorPF> lista = this.listar();
        for (FornecedorPF f : lista) {
            if (f.equals(fornecedorPF)) {
                return true;
            }
        }
        return false;
    }

    public FornecedorPF listarPorCPF(String cpf) {
        List<FornecedorPF> lista = dao.consultar("FornecedorPF.buscaPorCPF", cpf);
        if(! lista.isEmpty()){
            return lista.get(0);
        }else {
            return null;
        }
    }

    public boolean existeDocumentoVinculado(FornecedorPF fornecedorPF) {
        return !(new DAO<>(Documento.class).consultar("Documento.buscaPorPessoa", fornecedorPF).isEmpty());
    }

}
